class Solution {
public:
  int hIndex(vector<int>& citations) {
    sort(citations.begin(), citations.end());
    int N = citations.size();
    for (int i = 0; i < N; ++i) {
        if (citations[i] >= N - i) {
            return N-i;
            //0 1 3 6 5
            //0 1 2 3 4 
            //10 11 11 11 11
            //citations[i] >= N - i的意思是至少有五篇论文引用大于10次 但是H不能是10 因为h10需要 n-i>=10 那么
            //如果是这样就代表n-i 是大于10的最大数量10以后的首先不用看了 如果不满足10就不满足11  
            //如果满足10 也就是说 N-i == 10 这时候就可以直接返回N-i代表H指数
            //如果 N-i《10 说明不满足10的 那他就只能满足N-i是最大的 因为 不满足10说明》n-i的都不满足 只能找一个等于n-i的
        }

    }
    return 0;
}
};
